package com.tuanzi.loan.vo.view.family.product;

import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;
import org.hibernate.validator.constraints.Range;
import org.primefaces.model.TreeNode;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * @author Ray 2017/10/16
 */
@Data
public class ProductInfoView {

	private Long productInfoId;

	private List<String> identity;

	private List<String> loanType;

	private List<String> credit;

	private List<String> loanNecessaryData;

	private List<String> tag;

	private List<String> advantage;

	@NotBlank
	private String name;

	private String summary;

	private Integer approvalType;

	private Integer promotionType;

	private String businessLicense;

	@NotNull
	private Long modelId;

	private String url;

	private String logo;

	private Integer minLimit;

	private Integer maxLimit;

	private Integer minTerm;

	private Integer maxTerm;

	private Integer rateType;

	private String loanSpeed;

	@Min(18)
	private Integer minAge;

	@Range(min = 18, max = 100)
	private Integer maxAge;

	private Integer defaultAmount;

	private Integer defaultTime;

	private Integer phoneOnlineTime;

	@Range(min = 100, max = 1000)
	private Integer sesameCredit;

	private Integer contacts;

	private Boolean needCreditCard;

	private Integer initCount;

	private String lendDate;

	private String rate;

	private String loanLimit;

	private Integer position;

	private Integer successCount;

	private String heat;

	private String remark;

	private Integer api;

	private Integer unionType;

	private Integer infoType;

	private String apiModelId;

	private String marketTag;

	private String passRate;
	private Integer loginType;

	private String filterCity;

	private TreeNode[] selectedRegionNodes;

	private String platform = "all";

	private Long companyId;

	private String receiptProductId;

	private String receiptModelId;

	private String longTagImg1;

	private String longTagDesc1;

	private String longTagImg2;

	private String longTagDesc2;

	private Integer averagePrice;// 件均价，用于新一键投递

	private Boolean hasCar;

	private Boolean hasHouse;

	private Boolean hasInsurance;

	private Boolean hasFund;

	private Integer collisionApiId;// 撞库api的序号

//	@NotNull
	private Integer repayType;

	private Integer dayLimitClickUv;

	private Integer allId;

	private String lastweekPassRate;

	private String platformScore;

	private String floatContent;

	private Integer isAddReplace;

	private String cooperativeOrganization; // 合作机构

	private Date everyDayOnlineTime; // 每天上线时间

	private Date everyDayOfflineTime; // 每天下线时间

	private String partnerAgreement; // 甲方协议

	private Integer productType; // 甲方类型

	private ApplyCondition applyCondition; // 贷款产品准入门槛

	private List<String> selectedPlatforms;

	private List<String> selectedOnlineProducts; // 上线产品

	private List<String> selectedExcludeChannels; // 剔除渠道

	private Integer redirectType; // 跳转类型

	private Integer openType; // 打开方式

	private ProductJoinedLimit productJoinedLimit; // 贷款产品控量信息

	private Integer finalScore;

	private String rateRemark;

	private String repayRemark;

	private Long prefilterId;

	private Integer customerServiceType;

	private String customerServiceContent;

	private Integer newCollisionApiId;
}